 #include"progressBar.h"

const char* lable = "|/-\\";
char bar[NUM];

//版本2：进度条是如何被调用
// rate表示当前下载了多少
void progressBar(int rate)
{
    if(rate < 0 || rate >100)
        return;

    int len = strlen(lable);
    printf("[%-100s][%d%%][%c]\r",bar,rate,lable[rate%len]);
    fflush(stdout);
    bar[rate++] = STYL;
    if(rate < 100)
    {
        bar[rate] = RIGHT;
    }
}

void init_progressBar()
{
    memset(bar,'\0',sizeof(bar));
}

// 版本1：
// void progressBar(int speed) 
// {
//     int cnt = 0;
//     char bar[NUM];
//     memset(bar,'\0',sizeof(bar)); 
//     
//     int len = strlen(lable);
// 
//     while(cnt <= TOP)
//     {
//         printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]);// 没有\n,就没有立即刷新，因为显示器是行刷新
//         fflush(stdout); 
//         bar[cnt++] = STYL;
//         if(cnt < 100) bar[cnt] = RIGHT;
//         usleep(speed);
//     }
//     printf("\n");
// }
